package tur.br.moradadosol.util;

import java.io.FileInputStream;
import java.util.Properties;

/**
 * Classe padrão Singleton contendo configurações gerais do sistema.
 * A localização do arquivo de configurações deve ser registrada
 * no arquivo web.xml, servlet InitConfigServlet, parametro inicial configPath.
 * O nome do arquivo de configuração deve estar registrado, como parametro inicial,
 * na mesma servlet.
 * @author Alex Kayser
 */
public class Conf {
	
	private static Conf instance = null;
	
	private Properties confs = null;
	
	public Conf(String arq) {
		
		try {
			
			confs = new Properties();
			FileInputStream fis = new FileInputStream(arq);
			confs.load(fis);
			
			confs.put("configPath", arq);
			
			Conf.instance = this;
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	/**
	 * Recupera instancia do objeto de configurações.
	 * @return
	 */
	public static Conf igs() throws Exception {
		if(instance == null) {
			throw new Exception("Configuracao nao iniciada");
		}
		return instance;
	}
	
	public Properties getProperties() {
		return confs;
	}
	
	public static String getProp(String key) throws Exception {
		return igs().getProperties().getProperty(key);
	}

}
